MetaHMI · стандарт

Стандарт HMI

Содержание
  1. 1. Назначение
  2. 2. Как читать привязки
  3. 3. Элементы отображения и управления
  4. 4. Состояния УГО
  5. 5. Экраны визуализации
  6. 6. Общие группы полей экранов управления
  7. 7. Экраны управления
  8. 8. Экраны настроек
  9. 9. Типовой элемент визуализации — насос
  10. 10. Справочные материалы
  11. 11. Трубопроводы
  12. 12. Надписи и ссылки на продолжение
  13. 13. Пример общего экрана

Редакция от 17.10.2026.

1. Назначение

Стандарт описывает, что разместить на экране, к каким тегам привязать элементы и как они должны реагировать на значения этих тегов. Он предназначен для разработчика HMI и применяется на любой платформе.

Например, красная рамка привязана к признаку аварии: при 0 она скрыта, при 1 — видна и мигает. Для кнопки задаются тег команды и действия при нажатии и отпускании.

Раздел 2 объясняет подстановки в именах тегов. Разделы 3–8 содержат правила отображения и таблицы привязок. В разделе 9 показан насос из существующей библиотеки SVG. Настройки подключения и свойства объектов конкретных редакторов здесь не рассматриваются.

2. Как читать привязки

2.1. Термины

Термин Значение
УГО Условное графическое обозначение оборудования на схеме
ЭД / ЭМ Электродвигатель / электромагнит
ИМ / ТО Исполнительный механизм / технологическое оборудование
ID Обозначение, которое входит в имя тега, например P101
Подстановка Заменяемая часть шаблонного имени или текста
Уставка Требуемое значение регулируемой величины, например давление
Задание Ручное значение управляющего воздействия, например частота ПЧ

2.2. Подстановка на примере насоса

В таблице режима указано имя View_tmplObjectId_Engine_Inst_out_iMode. Для насоса P101 замените tmplObjectId на P101. Получится View_P101_Engine_Inst_out_iMode — к этому тегу привязывается индикатор режима.

Так же заполните остальные привязки этого насоса. Заменяются только обозначенные части имени. Остальной текст, регистр и подчёркивания сохраняются. Полное имя после подстановки должно совпадать с именем в списке тегов проекта.

Все подстановки начинаются с tmpl: tmplObjectId, tmplConfId, tmplLabel. Окончание Id означает идентификатор, No — номер, Units — единицы измерения. Дополнительные подчёркивания к значению не добавляются: они уже стоят в шаблоне. Если сам ID начинается с подчёркивания, оно сохраняется.

2.3. Подстановки в именах тегов

Подстановка Что подставить Пример
tmplObjectId ID оборудования или узла, состояние и команды которого показывает экран P101
tmplConfId ID настроек, указанных на этом экране PumpsPID для настроек ПИД
tmplOutConfId ID настроек аналогового выхода PumpOutputs
tmplIoId ID в имени входного или выходного сигнала P101 в View_DI_P101_bState
tmplComponentId Часть имени тега ручного задания ПЧ перед _Inst_ _14_HeatingPumps
tmplFilterId Полный ID фильтра сигналов P101_Flts или P101_Wrns
tmplChannelId ID канала фильтра в тегах его настроек VFD_FAULT
tmplChannelNo Номер канала в тегах состояния фильтра, от 1 до 8 3 в Signal3

Для каждого экрана ниже перечислены только нужные ему подстановки. ID оборудования, настроек и IO могут совпадать, но это не обязательно. Пример с разными ID показан в разделе 2.5.

2.4. Текст на экране

Полное пользовательское название оборудования или сигнала формируется как <исходный KKS> <функциональное наименование>: KKS стоит первым, между ним и наименованием — пробел. Например: PUC-001-173T1 Сетевой насос. Это правило применяется к tmplTitle экрана управления и заголовку окна, в котором он отображается. Оба используют одно согласованное пользовательское название.

Сохраняется исходное написание KKS, включая тире и точки. Нормализация в технических именах объектов и тегов не переносится в пользовательский текст. KKS и уже заданный им порядковый номер не повторяются в функциональном наименовании; названия библиотечных классов не добавляются. При отсутствии KKS он не выдумывается: используется согласованное функциональное наименование. Подпись tmplLabel может оставаться одним обозначением — это не требование дописать название к каждому символу схемы.

Правило согласовано с MetaEngineeringKit, стандарт программирования, §3.9 «Пользовательские комментарии». Заголовки специализированных страниц настроек дополняют обозначение названием страницы по разделу 8; KKS также остаётся в начале.

Подстановка Что написать
tmplTitle Полное пользовательское название: исходный KKS, пробел, функциональное наименование. Например «P-101 Насос».
tmplLabel Обозначение оборудования на схеме или подпись сигнала
tmplSpUnits Единицы уставки и регулируемой величины, например бар
tmplYUnits Единицы задания, например Гц или %
tmplEvUnits Единицы электрической величины, например мА
tmplFvUnits Единицы физической величины, например °C

Это текстовые подписи. Привязка к тегу для них не нужна.

2.5. Двигатель и ПИД на одном экране

Экран управления насосом может одновременно содержать команды двигателя, уставку ПИД и ручное задание. Настройки ПИД могут быть общими для нескольких насосов. Из-за этого разделять экран управления не требуется.

Например, насос имеет ID P101, а его ПИД использует настройки PumpsPID. Для этого экрана подставьте tmplObjectId = P101 и tmplConfId = PumpsPID.

Поле Шаблонное имя Тег в примере
Текущий режим View_tmplObjectId_Engine_Inst_out_iMode View_P101_Engine_Inst_out_iMode
ПУСК View_tmplObjectId_Engine_Inst_inout_bStart View_P101_Engine_Inst_inout_bStart
УСТАВКА Conf_tmplConfId_PID_fSP Conf_PumpsPID_PID_fSP
ЗАДАНИЕ View_tmplObjectId_PID_Inst_inout_fYManual View_P101_PID_Inst_inout_fYManual

Уставка общая для насосов с этим набором настроек. Команда пуска и ручное задание относятся только к P101.

Экраны настроек описаны отдельно для каждого компонента. На экране настроек Engine под tmplConfId понимается ID настроек двигателя, на экране PID — ID настроек ПИД. На экране управления двигателем с ПИД этот же маркер относится к уставке ПИД. Его назначение указано в таблице каждого экрана.

2.6. Состояние, выходная команда и кнопка управления

У этих элементов разные привязки:

Элемент Что показывает или делает Шаблонное имя
УГО насоса Показывает фактическую работу по обратной связи View_DI_tmplIoId_bState
Круглый индикатор пуска Показывает команду на выходе контроллера View_DQ_tmplIoId_bStart
Кнопка ПУСК Записывает команду оператора View_tmplObjectId_Engine_Inst_inout_bStart

Команда на выходе уже может быть равна 1, пока обратная связь ещё равна 0. В этом случае индикатор пуска зелёный, а насос остаётся серым.

Для клапана индикаторы выходных команд используют теги View_DQ_tmplIoId_bOpen и View_DQ_tmplIoId_bClose. Кнопки открытия и закрытия привязаны к отдельным тегам из раздела 6.2.

У входных и выходных сигналов одного механизма общий tmplIoId. Для двигателя используются DI_…_bState, DQ_…_bStart и, если предусмотрена отдельная команда останова, DQ_…_bStop. Для клапана используются DI_…_bOpen, DI_…_bClose, DQ_…_bOpen и DQ_…_bClose.

2.7. Настройки, которые остаются индивидуальными

На экране настроек двигателя время пуска может быть общим для группы, а отключение контроля состояния относится к конкретному двигателю. Поэтому в этих двух полях стоят разные подстановки:

Поле Привязка
Время пуска Conf_tmplConfId_Engine_diStateControlTime
Отключение контроля состояния Conf_tmplObjectId_Engine_bStateControlBypass

У клапана так же разделяются время полного хода и его шунт:

Поле Привязка
Время полного хода Conf_tmplConfId_Valve_diFullTime
Шунт контроля полного хода Conf_tmplObjectId_Valve_bFullTimeCtrlBypass

Используйте подстановку, указанную в строке конкретного поля. Не все шунты индивидуальны: у CondRecCtrl шунт связан с tmplConfId, как и остальные настройки этого компонента.

3. Элементы отображения и управления

3.1. Категории элементов

Обозначения доступа: R — отображение; R/W — отображение и изменение оператором; W — выдача команды. Это назначение элемента HMI, а не настройка прав доступа к переменной.

Категория Назначение и обязательное поведение Доступ / данные
УГО состояния Отображает состояние по таблице раздела 4 R; BOOL или INT
Символ режима 0 — «О», 1 — «М», 2 — «Р», 3 — «А» R; INT
Блокировка Символ «Б»: при 0 скрыт, при 1 отображается R; BOOL
Авария Красная рамка: при 0 скрыта, при 1 отображается и мигает R; BOOL
Предупреждение Жёлтая рамка: при 0 скрыта, при 1 отображается и мигает R; BOOL
Команда пуска Малый круглый индикатор: при 0 — серый, при 1 — зелёный; отображается в обоих состояниях R; BOOL
Команда открытия Малый зелёный круглый индикатор: при 0 скрыт, при 1 отображается R; BOOL
Команда закрытия Малый серый круглый индикатор: при 0 скрыт, при 1 отображается R; BOOL
Числовое поле Показывает значение; оператор его не изменяет R; тип указан в таблице шаблона
Поле ввода Показывает значение и позволяет его изменить R/W; REAL, INT или DINT
Переключатель BOOL Выбор 0 или 1; значение сохраняется после отпускания R/W; BOOL
Текущий режим 0 — «ОТКЛЮЧЕН»; 1 — «МЕСТНЫЙ»; 2 — «РУЧНОЙ»; 3 — «АВТОМАТИЧЕСКИЙ» R; INT
Дистанционный режим Выбор и отображение запрошенного режима: 2 — «РУЧНОЙ», 3 — «АВТОМАТИЧЕСКИЙ» R/W; INT
Кнопка установки команды При нажатии записывает 1. Отпускание не задаёт запись 0. Используется для «ПУСК» и «СТОП» двигателя W; BOOL
Кнопка удержания команды При нажатии записывает 1, при отпускании — 0. Используется для «ОТКРЫТЬ» и «ЗАКРЫТЬ» клапана W; BOOL
Индикатор аварийного канала фильтра При 0 — серый, при 1 — красный; отображается в обоих состояниях R; BOOL
Индикатор предупредительного канала фильтра При 0 — серый, при 1 — жёлтый; отображается в обоих состояниях R; BOOL
Обозначение, единицы, заголовок Текстовые подстановки из раздела 2.4 Текст, без тега

Выбор дистанционного режима не заменяет индикацию текущего: это два разных поля с разными тегами.

3.2. Числовые форматы

Тип данных Формат числового отображения и ввода
REAL s####.##
INT ####
DINT ####

Здесь s####.## означает число со знаком и двумя знаками после десятичного разделителя, #### — целое число. Это условное описание отображения, а не требование к синтаксису маски конкретного редактора. Количество позиций поля выбирается по диапазону значения; четыре символа не ограничивают наработку. Числовой формат не применяется к текстовым и графическим индикаторам режима и состояния.

4. Состояния УГО

Тип УГО Значение Смысл Заливка
Engine 0 Остановлен Серая
Engine 1 Работает Зелёная
Valve 0 Неопределено Тёмно-серая
Valve 1 Закрыт Светло-серая
Valve 2 Открывается Тёмно-серая
Valve 3 Закрывается Тёмно-серая
Valve 4 Открыт Зелёная
Control Valve 0 Выключен Серая
Control Valve 1 Включен Зелёная

Примеры ИМ и соответствующих УГО.

Исполнительный механизм Тип УГО
Насос Engine
Вентилятор Engine
Горелка Engine
Клапан с ЭМ Valve
Клапан с ЭД Valve
Регулирующий клапан Control Valve

5. Экраны визуализации

Все поля этого раздела предназначены только для отображения. Фактическое положение, производительность и мощность отображаются отдельными датчиками. Экран визуализации исполнительного механизма не задаёт для этих датчиков состав полей, расположение и привязки. Для исполнительного механизма штатная рамка — красная аварийная, а жёлтая добавляется отдельно по необходимости. Для датчика штатная рамка — жёлтая по ошибке датчика, а красная добавляется отдельно по необходимости.

Для одного элемента аварийная и предупредительная рамки имеют одинаковые размеры и положение. Красная рамка расположена верхним слоем. Активные рамки всегда мигают. Это правило одинаково для датчика, насоса и клапана.

5.1. Engine: насос, вентилятор, горелка

Интерактивный пример двигателя на примере насоса.

Поле / категория Точное шаблонное имя Тип Формат Единицы
Режим / символ режима View_tmplObjectId_Engine_Inst_out_iMode INT — —
Фактическая работа / УГО Engine View_DI_tmplIoId_bState BOOL — —
Блокировка View_tmplObjectId_Engine_Inst_out_bBlocked BOOL — —
Авария View_tmplObjectId_Engine_Inst_out_bFault BOOL — —
Выходная команда пуска / индикатор View_DQ_tmplIoId_bStart BOOL — —
Наработка / числовое поле View_tmplObjectId_Engine_Inst_out_diWorktime DINT #### ч
Обозначение tmplLabel Текст — —
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplIoId ID в имени входного или выходного сигнала
tmplLabel Обозначение оборудования или подпись сигнала

5.2. Valve: клапан с ЭМ

Интерактивный пример электромагнитного клапана.

Для электромагнитного клапана и клапана с электродвигателем используются отдельные страницы одинакового формата: одно УГО, переключатели справа, пояснение выбранного элемента и таблица привязок снизу. Имена тегов и поведение элементов одинаковые; отличается графика привода. Для электромагнита используются Actuators/ValveSolenoid_Up/State_0.svg — State_4.svg.

Поле / категория Точное шаблонное имя Тип Формат Единицы
Режим / символ режима View_tmplObjectId_Valve_Inst_out_iMode INT — —
Состояние / УГО Valve View_tmplObjectId_Valve_Inst_out_iState INT — —
Блокировка View_tmplObjectId_Valve_Inst_out_bBlocked BOOL — —
Авария View_tmplObjectId_Valve_Inst_out_bFault BOOL — —
Выходная команда открытия / индикатор View_DQ_tmplIoId_bOpen BOOL — —
Выходная команда закрытия / индикатор View_DQ_tmplIoId_bClose BOOL — —
Обозначение tmplLabel Текст — —
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplIoId ID в имени входного или выходного сигнала
tmplLabel Обозначение оборудования или подпись сигнала

5.3. Valve: клапан с ЭД

Интерактивный пример клапана с электродвигателем.

Этот экран применяется и к запорному, и к запорно-регулирующему клапану с дискретными командами «Открыть/Закрыть». Регулятор и отдельное измерение положения в его состав не входят.

Режим расположен справа сверху, блокировка — справа снизу, обозначение — под клапаном. Внутри обозначения привода слева расположен зелёный индикатор команды открытия, справа — серый индикатор команды закрытия. Оба индикатора показывают DQ-команды: при 0 скрыты, при 1 видны. Состояние самого УГО выбирается по View_tmplObjectId_Valve_Inst_out_iState. Штатная рамка аварии привязана к out_bFault; опциональное предупреждение задаётся отдельным сигналом проекта.

Состав, имена тегов, типы и поведение соответствуют разделу 5.2. Используется УГО клапана с электродвигателем.

Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplIoId ID в имени входного или выходного сигнала
tmplLabel Обозначение оборудования или подпись сигнала

5.4. CtrlValve: регулирующий клапан

Интерактивный пример регулирующего клапана с аналоговым выходом.

Состояние отображается цветом УГО: 0 — серый, выключен; 1 — зелёный, включён. Состояние управления не является измерением фактического положения клапана. Режим расположен справа сверху, блокировка — справа снизу, обозначение — под клапаном. Штатная красная рамка охватывает УГО; опциональная жёлтая рамка задаётся отдельно и имеет те же размеры и положение.

Числовое поле положения на прямоугольнике клапана не размещается. Измеренное положение не входит в состав этого стандартного элемента. При наличии обратной связи его можно вывести отдельным датчиком в выбранном для проекта месте. При отсутствии обратной связи показание не отображается. Аналоговая команда и измеренное положение — разные величины.

Для УГО используются Actuators/ValveAnalog_Up/State_0.svg и State_1.svg.

Поле / категория Точное шаблонное имя Тип Формат Единицы
Режим / символ режима View_tmplObjectId_CtrlValve_Inst_out_iMode INT — —
Состояние / УГО Control Valve View_tmplObjectId_CtrlValve_Inst_out_bState BOOL — —
Блокировка View_tmplObjectId_CtrlValve_Inst_out_bBlocked BOOL — —
Авария View_tmplObjectId_CtrlValve_Inst_out_bExternalFault BOOL — —
Обозначение tmplLabel Текст — —
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplLabel Обозначение оборудования или подпись сигнала

5.5. Sensor: аналоговое измерение

Интерактивный пример датчика.

Поле / категория Точное шаблонное имя Тип Формат Единицы
Значение измерения / числовое поле View_tmplObjectId_SensFilter_Inst_out_fY REAL s####.## tmplFvUnits
Ошибка датчика / предупреждение View_tmplObjectId_Sensor_Inst_out_bError BOOL — —
Единицы измерения tmplFvUnits Текст — —
Обозначение tmplLabel Текст — —
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplLabel Обозначение оборудования или подпись сигнала
tmplFvUnits Единицы физической величины

5.5.1. Состав показания

Число располагается в поле с заливкой и тонким постоянным контуром. Число и единицы измерения имеют одинаковый шрифт Arial и базовый размер 12. При увеличении элемента они масштабируются вместе, с одним коэффициентом. Перед числом не выводятся PT, TT или другие обозначения типа датчика. Полное обозначение прибора (tmplLabel) можно прочитать отдельно под значением. Единицы измерения располагаются справа от числового поля на той же строке, без заливки и рамки. Они не входят в текст самого числового значения.

Цвета и состав поля приведены в общей таблице RGB. Эта же таблица встроена в каждый HTML-пример. RGB можно выделить и скопировать.

Жёлтая рамка по ошибке датчика входит в стандартный экран датчика. Она охватывает поле значения; единицы и обозначение остаются за её пределами. Красная аварийная рамка добавляется отдельно по необходимости и не входит в обязательный состав этого экрана. В HTML она показана отдельным переключателем. Сигнал и привязка задаются отдельно; при 1 рамка мигает, при 0 скрыта. Обе рамки независимы и могут отображаться одновременно.

Такое же оформление числового поля применяется для наработки: целое число, справа — «ч». При этом источник остаётся счётчиком наработки исполнительного механизма, а рамка ошибки датчика к нему не добавляется.

Графические исходники: Indicators/SensorDisplay/State_0.svg и State_1.svg. Число, единицы и обозначение заменяются соответствующими значениями.

5.5.2. Общий масштаб текста и оборудования

  1. Наберите четыре символа единиц измерения шрифтом Arial размером 12 и обведите их плотным прямоугольником. Это эталон размера.
  2. Нижний прямоугольник регулирующего клапана должен иметь ширину и высоту этого эталона. Круглый электродвигатель располагается над ним.
  3. Размер насоса и остальных типовых исполнительных механизмов выбирается по полному габариту получившегося клапана, вместе с электродвигателем.
  4. При увеличении иллюстрации одновременно масштабируются УГО, шрифты, числовые поля и рамки. Отдельно уменьшать шрифт наработки нельзя.

В отдельном примере масштаба эталон показан четырьмя символами «м³/ч». Его прямоугольник равен нижней части существующего SVG клапана. Рядом показан насос того же габарита. Рамка вокруг единиц нужна только в пояснении масштаба. В рабочем показании единицы остаются без рамки и заливки.

Ширина числового поля определяется числом разрядов. Если значение длиннее, поле расширяется; размер шрифта сохраняется. Для наработки используются тот же размер 12 и те же правила, что и для показания датчика.

5.6. Каналы фильтра сигналов: авария и предупреждение

Интерактивный пример каналов SignalsFilter.

Два стандартных варианта используют один шаблон тега. Круг располагается слева, подпись tmplLabel — справа. Индикатор читает выход выбранного канала out_SignalN_bQ, а не общий выход фильтра out_bQ.

Поле / категория Точное шаблонное имя Тип Формат Единицы
Состояние канала / индикатор View_tmplFilterId_SgnlsFltr_Inst_out_SignaltmplChannelNo_bQ BOOL — —
Подпись сигнала tmplLabel Текст — —
Подстановка Назначение
tmplFilterId Полный ID фильтра, например K31_Flts
tmplChannelNo Номер выхода фильтра, 1–8
tmplLabel Обозначение оборудования или подпись сигнала
Вариант канала Значение 0 Значение 1 Видимость
Аварийный Серый Красный В обоих состояниях
Предупредительный Серый Жёлтый В обоих состояниях

Для аварийного канала используйте серо-красный индикатор, для предупредительного — серо-жёлтый. Индикатор располагается слева, подпись — справа; общие правила приведены в разделе 5.9.

Например, tmplFilterId = P101_Flts, tmplChannelNo = 3, tmplLabel = Авария ПЧ: тег — View_P101_Flts_SgnlsFltr_Inst_out_Signal3_bQ, справа от круга — «Авария ПЧ». Суффиксы _Flts и _Wrns входят в ID только тогда, когда они присутствуют в имени фильтра проекта.

Индикаторы используют постоянное свечение. Дополнительное условие мигания, если оно требуется для конкретного сигнала, задаётся отдельно. Настройки задержки и шунта описаны в разделе 8.13.

5.7. CascadeUnit: элемент каскада

Интерактивный пример на корпусе котла.

CascadeUnit показывает состояние агрегата целиком. Для котла используются существующие SVG корпуса: Actuators/Boiler/State_0.svg и State_1.svg. Горелка, насос и клапан, если они присутствуют на экране, отображаются самостоятельными элементами. В этот пример они не входят.

№ Элемент / место Привязка Тип Поведение
1 Корпус котла. В центре элемента View_tmplObjectId_CascadeUnit_Inst_out_bState BOOL 0 — серый корпус; 1 — зелёный. Показывает состояние агрегата, полученное от CascadeUnit.
2 Автоматический режим. Справа сверху, за рамкой корпуса View_tmplObjectId_CascadeUnit_Inst_out_bMode BOOL 0 — символ А скрыт; 1 — символ А виден. Это признак автоматического режима.
3 Готовность. Надпись «Готов» на корпусе котла View_tmplObjectId_CascadeUnit_Inst_out_bEnable BOOL 0 — надпись скрыта; 1 — «Готов» отображается. Готовность не заменяет состояние работы: цвет корпуса задаётся отдельно.
4 Аварийная рамка. Вокруг корпуса котла View_tmplObjectId_CascadeUnit_Inst_out_bFault BOOL 0 — скрыта; 1 — красная рамка видна и мигает. Символ режима и обозначение котла остаются за рамкой.
5 Обозначение. Под корпусом котла tmplLabel Текст Постоянная подпись агрегата, например К1.
6 Предупреждение — опционально. Вокруг корпуса, на том же месте, что и аварийная рамка Отдельный BOOL-тег HMI проекта BOOL Добавляется отдельно при необходимости. 0 — скрыта; 1 — жёлтая рамка видна и мигает. Привязка независима от аварии.
Подстановка Назначение
tmplObjectId ID агрегата, например K1
tmplLabel Обозначение под корпусом, например К1

«Готов» появляется на самом корпусе при out_bEnable = 1 и скрывается при 0. Цвет корпуса определяется отдельно по out_bState. Например, остановленный котёл может быть готов к выбору каскадом.

Символ «А» расположен справа сверху, за рамкой корпуса: при out_bMode = 1 он виден, при 0 скрыт. У CascadeUnit нет отдельного выхода блокировки, поэтому символ «Б» не входит в состав этого элемента.

Красная рамка входит в стандартный элемент. Жёлтая рамка предупреждения опциональна и привязывается к отдельному BOOL-тегу HMI проекта. Размеры и положение рамок совпадают; они охватывают только корпус, не захватывая обозначение снизу и символ режима. При активном сигнале рамка всегда мигает. Обе рамки мигают синхронно, красная находится поверх жёлтой.

5.8. CabinetController: общее управление установкой

Интерактивный пример CabinetController.

Верхние строки — наличие напряжения и блокировка. Ниже в одну строку расположены ПУСК и СТОП, под ними на всю ширину — СБРОС АВАРИИ. Индикатор работы находится слева внутри ПУСК, индикатор наличия аварии — слева внутри СБРОС АВАРИИ. Следующая строка — КВИТИРОВАНИЕ ЗВУКА. Ниже расположен ЭКСТРЕННЫЙ ОСТАНОВ, внутри общей границы блока. Его кнопка имеет ту же ширину, что и кнопка сброса, двухстрочную надпись и индикатор слева. Это один цельный блок с общей сеткой выравнивания и одинаковыми отступами.

Векторный исходник: CabinetController.svg. Он содержит только векторные фигуры и текст, без растровых изображений. HTML-пример использует геометрию этого же SVG.

№ Элемент Тег Тип / действие Поведение
1 Напряжение View_CabinetController_Inst_out_bPowerControl BOOL; Чтение 0 — напряжения нет, красный; 1 — напряжение есть, зелёный. Индикатор виден постоянно.
2 Блокировка View_CabinetController_Inst_in_bBlock BOOL; Чтение Канал аварии: 0 — серый; 1 — красный. Показывает общий запрет работы установки.
3 Работа View_CabinetController_Inst_out_bWorking BOOL; Чтение 0 — серый; 1 — зелёный. Показывает состояние общего пуска, а не работу отдельного механизма.
4 ПУСК View_CabinetController_Inst_inout_bStart BOOL; Запись 1 при нажатии Нажатие записывает 1. При отпускании HMI не записывает 0; команду обнуляет ПЛК. Индикатор работы использует отдельный тег из строки 3.
5 СТОП View_CabinetController_Inst_inout_bStop BOOL; Запись 1 при нажатии Нажатие записывает 1. При отпускании HMI не записывает 0; команду обнуляет ПЛК.
6 СБРОС АВАРИИ View_CabinetController_Inst_inout_bFaultReset BOOL; Запись 1 при нажатии Нажатие записывает 1. Команду обнуляет ПЛК. Это запрос сброса, а не подтверждение устранения причин аварий.
7 Наличие аварии View_Alarms_Inst_out_bFault BOOL; Чтение 0 — серый, аварий нет; 1 — красный, есть авария. Индикатор читает состояние аварий независимо от нажатия кнопок сброса и квитирования звука.
8 ЭКСТРЕННЫЙ ОСТАНОВ View_CabinetController_Inst_inout_bEmergencyStop BOOL; Переключение 0 / 1 при нажатии Нажатие переключает команду панели: 0 → 1 — подать; 1 → 0 — снять. Отпускание не снимает команду. Индикатор показывает общий выход из строки 9.
9 Состояние экстренного останова View_CabinetController_Inst_out_bEmergencyStop BOOL; Чтение 0 — серый; 1 — красный. Общий экстренный останов учитывает команду HMI и физический сигнал. Снятие команды HMI не отменяет активный физический сигнал.
10 КВИТИРОВАНИЕ ЗВУКА View_Alarms_Inst_inout_bReset BOOL; Запись 1 при нажатии Нажатие записывает 1 — квитировать звук. При отпускании HMI не записывает 0; команду обрабатывает ПЛК. Индикация наличия аварии продолжает определяться тегом из строки 7.

Индикатор напряжения: красный при отсутствии напряжения, зелёный при наличии. Блокировка отображается серо-красным каналом аварии. Индикация работы — серо-зелёная. Команды и состояния читаются из разных тегов, как указано в таблице. Подстановка ID для этих тегов не используется.

Кнопки ПУСК, СТОП, СБРОС АВАРИИ и КВИТИРОВАНИЕ ЗВУКА записывают 1 при нажатии. HMI не обнуляет их при отпускании: это делает ПЛК. Экстренный останов переключает сохраняемую команду панели между 0 и 1. Его индикатор читает общий выход, который также учитывает физический сигнал. Отдельного требования добавлять рамки аварии или предупреждения для этого блока нет.

5.9. Дискретный индикатор

Интерактивный пример.

Круглый индикатор располагается слева, подпись сигнала — справа, по центру круга. Индикатор и подпись видны при обоих значениях сигнала. Меняется только заливка круга; текст подписи остаётся прежним. Подпись — чёрная, без фоновой заливки, Arial 12 в исходном масштабе. Все варианты используют одинаковую геометрию и общий масштаб.

Название цветовой пары читается в порядке 0 → 1.

Вариант При 0 При 1
Серо-красный Серый Красный
Серо-зелёный Серый Зелёный
Красно-серый Красный Серый
Красно-зелёный Красный Зелёный
Серо-жёлтый Серый Жёлтый

Для каждого индикатора укажите BOOL-тег HMI, подпись, цвет при 0, цвет при 1 и смысл обоих состояний. Другие пары задаются по тому же правилу. Единица не обязательно означает аварию или норму — это зависит от сигнала.

Элемент Привязка Поведение
Круг слева BOOL-тег HMI; чтение Заливка выбирается по значению 0 или 1. Круг всегда виден.
Подпись справа tmplLabel; постоянный текст Название сигнала всегда видно; текст и цвет не меняются.

Например, View_Alarms_Inst_out_bFault отображается серо-красным: 0 — аварий нет, 1 — есть авария. View_CabinetController_Inst_out_bPowerControl отображается красно-зелёным: 0 — напряжения нет, 1 — напряжение есть. Аварийный и предупредительный каналы фильтра используют привязки раздела 5.6.

Базовый индикатор не мигает. Если для конкретного сигнала нужно мигание, это указывается отдельно вместе со значением, при котором оно действует. Обязательное мигание сигнальных рамок не распространяется автоматически на заливку индикатора.

Векторный исходник содержит круг и подпись. Значения RGB для HTML-примера берутся из общего hmi-colors.css.

6. Общие группы полей экранов управления

Ниже описаны повторяющиеся группы полей: режимы и команды двигателя, команды клапана, уставка и ручное задание регулятора. Готовые экраны управления из этих групп приведены в разделе 7.

6.1. Engine

Поле Точное шаблонное имя Тип Поведение Формат Единицы
Текущий режим View_tmplObjectId_Engine_Inst_out_iMode INT R, текст режима — —
Дистанционный режим View_tmplObjectId_Engine_Inst_inout_iRemoteMode INT R/W, выбор 2 или 3 — —
ПУСК View_tmplObjectId_Engine_Inst_inout_bStart BOOL Установка команды — —
СТОП View_tmplObjectId_Engine_Inst_inout_bStop BOOL Установка команды — —

6.2. Valve

Поле Точное шаблонное имя Тип Поведение Формат Единицы
Текущий режим View_tmplObjectId_Valve_Inst_out_iMode INT R, текст режима — —
Дистанционный режим View_tmplObjectId_Valve_Inst_inout_iRemoteMode INT R/W, выбор 2 или 3 — —
ОТКРЫТЬ View_tmplObjectId_Valve_Inst_inout_bOpen BOOL Удержание команды — —
ЗАКРЫТЬ View_tmplObjectId_Valve_Inst_inout_bClose BOOL Удержание команды — —

6.3. ControlValve

Поле Точное шаблонное имя Тип Поведение Формат Единицы
Текущий режим View_tmplObjectId_CtrlValve_Inst_out_iMode INT R, текст режима — —
Дистанционный режим View_tmplObjectId_CtrlValve_Inst_inout_iRemoteMode INT R/W, выбор 2 или 3 — —
Задание без PID View_tmplObjectId_ControlValue_Inst_inout_fYManual REAL R/W, поле ввода s####.## tmplYUnits
Единицы задания tmplYUnits Текст Подпись поля — —

6.4. PID

Поле Точное шаблонное имя / подстановка Тип Поведение Формат Единицы
УСТАВКА Conf_tmplConfId_PID_fSP REAL R/W s####.## tmplSpUnits
Единицы уставки tmplSpUnits Текст Подпись — —
ЗАДАНИЕ View_tmplObjectId_PID_Inst_inout_fYManual REAL R/W s####.## tmplYUnits
Единицы задания tmplYUnits Текст Подпись — —

6.5. PIDD

Поле Точное шаблонное имя / подстановка Тип Поведение Формат Единицы
УСТАВКА Conf_tmplConfId_PIDD_fSP REAL R/W s####.## tmplSpUnits
Единицы уставки tmplSpUnits Текст Подпись — —

6.6. TwoStep

Поле Точное шаблонное имя / подстановка Тип Поведение Формат Единицы
УСТАВКА Conf_tmplConfId_TwoStep_fSP REAL R/W s####.## tmplSpUnits
Единицы уставки tmplSpUnits Текст Подпись — —

7. Экраны управления

Все интерактивные экраны управления.

Общая компоновка: заголовок и закрытие сверху, поля режимов слева, пояснения справа. Числовые поля выравниваются по правому краю полей режима. Если есть оба числовых поля, уставка располагается над заданием. Командные кнопки — внизу по центру. Размер окна и позиции всех элементов одинаковы во всех вариантах. Отсутствующие поля и кнопки скрываются вместе с подписями; их места остаются пустыми. Остальные элементы не сдвигаются: задание не занимает место уставки, кнопки не поднимаются при отсутствии числовых полей. Закрытие окна не выдаёт команду останова.

Семь компоновок покрывают десять компонентов. Переключатель вариантов в HTML служит для сравнения привязок и не входит в рабочий экран HMI.

Каждый экран содержит заголовок tmplTitle, поле «ТЕКУЩИЙ РЕЖИМ» и поле «ДИСТАНЦИОННЫЙ РЕЖИМ». Подписи числовых полей: «УСТАВКА, tmplSpUnits» и «ЗАДАНИЕ, tmplYUnits».

Для состояний и команд используется tmplObjectId. Для уставки — tmplConfId. Например, управление насосом может быть индивидуальным, а уставка ПИД — общей для группы. Пример привязок приведён в разделе 2.5.

7.1. PidEngineUnit — двигатель с ПИД-регулятором

Интерактивный пример.

Состав экрана
Engine
PID
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplConfId ID настроек ПИД насоса или другого двигателя
tmplTitle Заголовок экрана управления
tmplSpUnits Единицы уставки и регулируемой величины
tmplYUnits Единицы управляющего воздействия или задания
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_Engine_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_Engine_Inst_inout_iRemoteMode INT — —
ПУСК View_tmplObjectId_Engine_Inst_inout_bStart BOOL — —
СТОП View_tmplObjectId_Engine_Inst_inout_bStop BOOL — —
УСТАВКА Conf_tmplConfId_PID_fSP REAL s####.## tmplSpUnits
ЗАДАНИЕ View_tmplObjectId_PID_Inst_inout_fYManual REAL s####.## tmplYUnits

7.2. PiddValveUnit — клапан с дискретным ПИД-регулятором

Интерактивный пример.

Состав экрана
Valve
PIDD
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplConfId ID настроек PIDD клапана
tmplTitle Заголовок экрана управления
tmplSpUnits Единицы уставки и регулируемой величины
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_Valve_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_Valve_Inst_inout_iRemoteMode INT — —
ОТКРЫТЬ View_tmplObjectId_Valve_Inst_inout_bOpen BOOL — —
ЗАКРЫТЬ View_tmplObjectId_Valve_Inst_inout_bClose BOOL — —
УСТАВКА Conf_tmplConfId_PIDD_fSP REAL s####.## tmplSpUnits

7.3. PidCtrlValveUnit — регулирующий клапан с ПИД

Интерактивный пример.

Состав экрана
два поля режима ControlValve
уставка и задание PID
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplConfId ID настроек ПИД клапана
tmplTitle Заголовок экрана управления
tmplSpUnits Единицы уставки и регулируемой величины
tmplYUnits Единицы управляющего воздействия или задания
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_CtrlValve_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_CtrlValve_Inst_inout_iRemoteMode INT — —
УСТАВКА Conf_tmplConfId_PID_fSP REAL s####.## tmplSpUnits
ЗАДАНИЕ View_tmplObjectId_PID_Inst_inout_fYManual REAL s####.## tmplYUnits

7.4. PiddEngineUnit — двигатель с дискретным ПИД-регулятором

Интерактивный пример.

Состав экрана
Engine
PIDD
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplConfId ID настроек PIDD двигателя
tmplTitle Заголовок экрана управления
tmplSpUnits Единицы уставки и регулируемой величины
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_Engine_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_Engine_Inst_inout_iRemoteMode INT — —
ПУСК View_tmplObjectId_Engine_Inst_inout_bStart BOOL — —
СТОП View_tmplObjectId_Engine_Inst_inout_bStop BOOL — —
УСТАВКА Conf_tmplConfId_PIDD_fSP REAL s####.## tmplSpUnits

7.5. TwoStepEngineUnit — двигатель с двухпозиционным регулятором

Интерактивный пример.

Состав экрана
Engine
TwoStep
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplConfId ID настроек двухпозиционного регулятора двигателя
tmplTitle Заголовок экрана управления
tmplSpUnits Единицы уставки и регулируемой величины
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_Engine_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_Engine_Inst_inout_iRemoteMode INT — —
ПУСК View_tmplObjectId_Engine_Inst_inout_bStart BOOL — —
СТОП View_tmplObjectId_Engine_Inst_inout_bStop BOOL — —
УСТАВКА Conf_tmplConfId_TwoStep_fSP REAL s####.## tmplSpUnits

7.6. TwoStepValveUnit — клапан с двухпозиционным регулятором

Интерактивный пример.

Состав экрана
Valve
TwoStep
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplConfId ID настроек двухпозиционного регулятора клапана
tmplTitle Заголовок экрана управления
tmplSpUnits Единицы уставки и регулируемой величины
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_Valve_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_Valve_Inst_inout_iRemoteMode INT — —
ОТКРЫТЬ View_tmplObjectId_Valve_Inst_inout_bOpen BOOL — —
ЗАКРЫТЬ View_tmplObjectId_Valve_Inst_inout_bClose BOOL — —
УСТАВКА Conf_tmplConfId_TwoStep_fSP REAL s####.## tmplSpUnits

7.7. EngineUnit — двигатель

Интерактивный пример.

Состав экрана
Engine
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplTitle Заголовок экрана управления
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_Engine_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_Engine_Inst_inout_iRemoteMode INT — —
ПУСК View_tmplObjectId_Engine_Inst_inout_bStart BOOL — —
СТОП View_tmplObjectId_Engine_Inst_inout_bStop BOOL — —

7.8. ValveUnit — клапан

Интерактивный пример.

Состав экрана
Valve
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplTitle Заголовок экрана управления
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_Valve_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_Valve_Inst_inout_iRemoteMode INT — —
ОТКРЫТЬ View_tmplObjectId_Valve_Inst_inout_bOpen BOOL — —
ЗАКРЫТЬ View_tmplObjectId_Valve_Inst_inout_bClose BOOL — —

7.9. CtrlValveUnit — регулирующий клапан

Интерактивный пример.

Клапан без PID-регулятора.

Состав экрана
ControlValve
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplTitle Заголовок экрана управления
tmplYUnits Единицы управляющего воздействия или задания
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_CtrlValve_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_CtrlValve_Inst_inout_iRemoteMode INT — —
ЗАДАНИЕ View_tmplObjectId_ControlValue_Inst_inout_fYManual REAL s####.## tmplYUnits

7.10. VfdGroupEngineUnit — привод в группе с общим ПИД

Интерактивный пример.

Состав экрана
Engine
уставка общего PID
ручное задание конкретного ПЧ
Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplConfId ID настроек общего ПИД группы насосов
tmplComponentId Часть имени тега перед Inst, например _14_HeatingPumps
tmplTitle Заголовок экрана управления
tmplSpUnits Единицы уставки и регулируемой величины
tmplYUnits Единицы управляющего воздействия или задания
Поле Шаблонное имя тега Тип Формат Единицы
Текущий режим View_tmplObjectId_Engine_Inst_out_iMode INT — —
Дистанционный режим View_tmplObjectId_Engine_Inst_inout_iRemoteMode INT — —
ПУСК View_tmplObjectId_Engine_Inst_inout_bStart BOOL — —
СТОП View_tmplObjectId_Engine_Inst_inout_bStop BOOL — —
УСТАВКА группы ПЧ Conf_tmplConfId_PID_fSP REAL s####.## tmplSpUnits
ЗАДАНИЕ конкретного ПЧ View_tmplComponentId_Inst_tmplObjectId_VFD_fManualValue REAL s####.## tmplYUnits

Уставка относится к группе, ручное задание — к выбранному приводу.

Пример подстановок:

Подстановка Значение
tmplTitle Насос K3-1
tmplObjectId K31
tmplConfId ID настроек общего ПИД группы насосов
tmplComponentId _14_HeatingPumps
tmplSpUnits бар
tmplYUnits %

Получаются:

Вторая привязка содержит два подчёркивания после View: одно стоит в шаблоне, второе входит в _14_HeatingPumps. Оба сохраняются.

8. Экраны настроек

Все экраны настроек.

8.1. Общие правила

Заголовок экрана размещается слева вверху: tmplLabel. Название компонента. Настройки располагаются одним столбцом сверху вниз по левому краю; текстовые метки — справа от полей. Единицы измерения указываются в текстовой метке через запятую.

Элемент Действие
Числовое поле настройки R/W: отображение и ввод значения
Переключатель BOOL R/W: выбор 0 или 1; значение сохраняется после отпускания
Значение измерения и индикатор состояния R: отображение
Заголовок tmplLabel Текстовая подстановка

raw обозначает единицы исходного числового значения АЦП или аналогового выхода.

Каждый компонент имеет свой экран настроек: двигатель, ПИД, клапан и другие. tmplConfId обозначает настройки того компонента, которому посвящён экран. Общие настройки двигателя и клапана и их индивидуальные шунты размещаются на отдельных экранах. Общие настройки привязываются через tmplConfId, индивидуальные шунты — через tmplObjectId. Один набор общих настроек может использоваться несколькими механизмами; шунт изменяется только у выбранного механизма. Поля с tmplObjectId относятся к конкретному оборудованию — например, индивидуальный шунт контроля состояния двигателя. Для настроек аналогового выхода используется tmplOutConfId.

8.2. Engine: двигатель

Экран настроек.

Заголовок: tmplLabel. Двигатель.

На экране: общие настройки двигателя, выбранные через tmplConfId. Индивидуальный шунт вынесен на отдельный экран.

Подстановка Назначение
tmplConfId ID настроек двигателя
tmplLabel Обозначение оборудования или подпись сигнала
Поле Шаблонное имя тега Тип Действие Формат Единицы
Время пуска Conf_tmplConfId_Engine_diStateControlTime DINT R/W #### с
Время подтверждения состояния Conf_tmplConfId_Engine_diStateConfirmTime DINT R/W #### с
Задержка пуска Conf_tmplConfId_Engine_diStartDelayTime DINT R/W #### с
Задержка останова Conf_tmplConfId_Engine_diStopDelayTime DINT R/W #### с

8.3. CabinetController: шкаф управления

Экран настроек.

На экране: настройки шкафа управления.

Поле Шаблонное имя тега Тип Действие Формат Единицы
Фильтр отсутствия напряжения Conf_CabinetController_diPowerControlFilter DINT R/W #### с

Заголовок: «ШКАФ УПРАВЛЕНИЯ».

8.4. Cascade: каскад

Экран настроек.

На экране: настройки каскада.

Подстановка Назначение
tmplConfId ID настроек каскада
tmplLabel Обозначение оборудования или подпись сигнала
tmplSpUnits Единицы уставки и регулируемой величины
tmplYUnits Единицы управляющего воздействия или задания
Поле Шаблонное имя тега Тип Действие Формат Единицы
Уставка Conf_tmplConfId_Cascade_fSP REAL R/W s####.## tmplSpUnits
Гистерезис Conf_tmplConfId_Cascade_fHys REAL R/W s####.## tmplSpUnits
Минимальное количество агрегатов в работе Conf_tmplConfId_Cascade_iWorkCount INT R/W #### —
Максимальное количество агрегатов в работе Conf_tmplConfId_Cascade_iMaxWorkCount INT R/W #### —
Задержка подключения Conf_tmplConfId_Cascade_diConnectionDelay DINT R/W #### с
Задержка отключения Conf_tmplConfId_Cascade_diDisconnectionDelay DINT R/W #### с
Период смены Conf_tmplConfId_Cascade_diSwitchPeriod DINT R/W #### ч
Включение контроля мощности Conf_tmplConfId_Cascade_bPowerControlEnable BOOL R/W; 0 — выключено; 1 — включено — —
Нижний предел мощности Conf_tmplConfId_Cascade_fPowerLoLimit REAL R/W s####.## tmplYUnits
Верхний предел мощности Conf_tmplConfId_Cascade_fPowerHiLimit REAL R/W s####.## tmplYUnits

8.5. CondRecCtrl: контроль условия

Экран настроек.

На экране: настройки контроля условия и восстановления.

Подстановка Назначение
tmplConfId ID настроек контроля условия
tmplLabel Обозначение оборудования или подпись сигнала
Поле Шаблонное имя тега Тип Действие Формат Единицы
Задержка срабатывания Conf_tmplConfId_CondRecCtrl_diCondDelay DINT R/W #### с
Время восстановления Conf_tmplConfId_CondRecCtrl_diRecoveryDelay DINT R/W #### с
Отключение контроля состояния Conf_tmplConfId_CondRecCtrl_bBypass BOOL R/W; 0 — контроль условия; 1 — шунт — —

8.6. ControlValve: управляющее воздействие

Экран настроек.

На экране: выбор и ограничение управляющего воздействия, масштабирование аналогового выхода.

Подстановка Назначение
tmplConfId ID настроек управляющего воздействия
tmplOutConfId ID настроек аналогового выхода
tmplLabel Обозначение оборудования или подпись сигнала
tmplYUnits Единицы управляющего воздействия или задания
Поле Шаблонное имя тега Тип Действие Формат Единицы
Минимум управляющего воздействия Conf_tmplConfId_ControlValue_fYMin REAL R/W s####.## tmplYUnits
Максимум управляющего воздействия Conf_tmplConfId_ControlValue_fYMax REAL R/W s####.## tmplYUnits
Значение в выключенном состоянии Conf_tmplConfId_ControlValue_fOffValue REAL R/W s####.## tmplYUnits
Минимальное значение выхода Conf_tmplOutConfId_OUT_fRawMin REAL R/W s####.## raw
Максимальное значение выхода Conf_tmplOutConfId_OUT_fRawMax REAL R/W s####.## raw

8.7. Delay: задержка сигнала

Экран настроек.

На экране: настройки задержки.

Подстановка Назначение
tmplConfId ID настроек задержки
tmplLabel Обозначение оборудования или подпись сигнала
Поле Шаблонное имя тега Тип Действие Формат Единицы
Время Conf_tmplConfId_Delay_diTime DINT R/W #### мс
Множитель Conf_tmplConfId_Delay_diMultiplier DINT R/W #### —

Итоговая задержка, мс = diTime × diMultiplier.

8.8. PID: аналоговый ПИД-регулятор

Экран настроек.

На экране: настройки регулятора, масштабирование аналогового выхода.

Подстановка Назначение
tmplConfId ID настроек ПИД
tmplOutConfId ID настроек аналогового выхода
tmplLabel Обозначение оборудования или подпись сигнала
tmplSpUnits Единицы уставки и регулируемой величины
tmplYUnits Единицы управляющего воздействия или задания
Поле Шаблонное имя тега Тип Действие Формат Единицы
Уставка Conf_tmplConfId_PID_fSP REAL R/W s####.## tmplSpUnits
Зона нечувствительности Conf_tmplConfId_PID_fDB REAL R/W s####.## tmplSpUnits
Время дискретизации Conf_tmplConfId_PID_fSR REAL R/W s####.## с
Kp Conf_tmplConfId_PID_fKp REAL R/W s####.## —
Ti Conf_tmplConfId_PID_fTi REAL R/W s####.## с
Td Conf_tmplConfId_PID_fTd REAL R/W s####.## с
Минимум управляющего воздействия Conf_tmplConfId_PID_fYMin REAL R/W s####.## tmplYUnits
Максимум управляющего воздействия Conf_tmplConfId_PID_fYMax REAL R/W s####.## tmplYUnits
Ограничение регулирования снизу Conf_tmplConfId_PID_fYLoLimit REAL R/W s####.## tmplYUnits
Ограничение регулирования сверху Conf_tmplConfId_PID_fYHiLimit REAL R/W s####.## tmplYUnits
Значение в выключенном состоянии Conf_tmplConfId_PID_fOffValue REAL R/W s####.## tmplYUnits
Минимальное значение выхода Conf_tmplOutConfId_OUT_fRawMin REAL R/W s####.## raw
Максимальное значение выхода Conf_tmplOutConfId_OUT_fRawMax REAL R/W s####.## raw

8.9. PIDD: дискретный ПИД-регулятор

Экран настроек.

На экране: настройки регулятора.

Подстановка Назначение
tmplConfId ID настроек PIDD
tmplLabel Обозначение оборудования или подпись сигнала
tmplSpUnits Единицы уставки и регулируемой величины
Поле Шаблонное имя тега Тип Действие Формат Единицы
Уставка Conf_tmplConfId_PIDD_fSP REAL R/W s####.## tmplSpUnits
Зона нечувствительности Conf_tmplConfId_PIDD_fDB REAL R/W s####.## tmplSpUnits
Время дискретизации Conf_tmplConfId_PIDD_fSR REAL R/W s####.## с
Kp Conf_tmplConfId_PIDD_fKp REAL R/W s####.## —
Ti Conf_tmplConfId_PIDD_fTi REAL R/W s####.## с
Td Conf_tmplConfId_PIDD_fTd REAL R/W s####.## с

8.10. Pulse: генератор импульсов

Экран настроек.

На экране: настройки генератора импульсов.

Подстановка Назначение
tmplConfId ID настроек импульсов
tmplLabel Обозначение оборудования или подпись сигнала
Поле Шаблонное имя тега Тип Действие Формат Единицы
Период цикла импульс/пауза Conf_tmplConfId_Pulse_diPeriod DINT R/W #### мс
Множитель периода Conf_tmplConfId_Pulse_diPeriodMultiplier DINT R/W #### —
Длительность импульса Conf_tmplConfId_Pulse_diPulse DINT R/W #### мс
Множитель длительности импульса Conf_tmplConfId_Pulse_diPulseMultiplier DINT R/W #### —

Итоговый период, мс = diPeriod × diPeriodMultiplier.

Итоговая длительность импульса, мс = diPulse × diPulseMultiplier.

8.11. PulseCtrl: импульсное управление

Экран настроек.

На экране: настройки импульсного управления.

Подстановка Назначение
tmplConfId ID настроек импульсного управления
tmplLabel Обозначение оборудования или подпись сигнала
Поле Шаблонное имя тега Тип Действие Формат Единицы
Время подачи импульсов Conf_tmplConfId_PulseCtrl_diTotalTime DINT R/W #### с
Время цикла импульса Conf_tmplConfId_PulseCtrl_diPulseCycle DINT R/W #### с
Время подачи импульса Conf_tmplConfId_PulseCtrl_diPulseTime DINT R/W #### с

8.12. Sensor: аналоговый датчик

Экран настроек.

Допускается общий экран нескольких датчиков: метки размещаются один раз, а поля значений и единицы измерения повторяются для каждого датчика.

На экране: обработка аналогового датчика, фильтрация измерения, отображение измерения и ошибки.

Подстановка Назначение
tmplObjectId ID оборудования или узла
tmplLabel Обозначение оборудования или подпись сигнала
tmplEvUnits Единицы электрической величины
tmplFvUnits Единицы физической величины
Поле Шаблонное имя тега Тип Действие Формат Единицы
АЦП. Нижняя граница Conf_tmplObjectId_Sensor_fRawMin REAL R/W s####.## raw
АЦП. Верхняя граница Conf_tmplObjectId_Sensor_fRawMax REAL R/W s####.## raw
Датчик. Нижняя граница ЭВ Conf_tmplObjectId_Sensor_EV_fMin REAL R/W s####.## tmplEvUnits
Датчик. Верхняя граница ЭВ Conf_tmplObjectId_Sensor_EV_fMax REAL R/W s####.## tmplEvUnits
Датчик. Точка нуля ЭВ Conf_tmplObjectId_Sensor_EV_fZP REAL R/W s####.## tmplEvUnits
Датчик. Точка нуля ФВ Conf_tmplObjectId_Sensor_FV_fZP REAL R/W s####.## tmplFvUnits
Масштабирование Conf_tmplObjectId_Sensor_bEnableScale BOOL R/W; 0 — выключено; 1 — включено — —
Измерение. Нижняя граница ЭВ Conf_tmplObjectId_Sensor_FV_fXMin REAL R/W s####.## tmplEvUnits
Измерение. Верхняя граница ЭВ Conf_tmplObjectId_Sensor_FV_fXMax REAL R/W s####.## tmplEvUnits
Измерение. Нижняя граница ФВ Conf_tmplObjectId_Sensor_FV_fYMin REAL R/W s####.## tmplFvUnits
Измерение. Верхняя граница ФВ Conf_tmplObjectId_Sensor_FV_fYMax REAL R/W s####.## tmplFvUnits
Измерение. Ограничение шкалы Conf_tmplObjectId_Sensor_FV_bLimit BOOL R/W; 0 — выключено; 1 — включено — —
Пропорциональный коэффициент Conf_tmplObjectId_Sensor_fK REAL R/W s####.## —
Аддитивный компонент Conf_tmplObjectId_Sensor_fAdd REAL R/W s####.## tmplFvUnits
Датчик. Нижняя аварийная граница Conf_tmplObjectId_Sensor_EV_fLL REAL R/W s####.## tmplEvUnits
Датчик. Верхняя аварийная граница Conf_tmplObjectId_Sensor_EV_fHH REAL R/W s####.## tmplEvUnits
Контроль аварийных границ. Шунт Conf_tmplObjectId_Sensor_EV_bLimitBypass BOOL R/W; 0 — контроль; 1 — шунт — —
Контроль аварийных границ. Фильтр Conf_tmplObjectId_Sensor_EV_diLimitFilterTime DINT R/W #### с
Ошибка канала. Шунт Conf_tmplObjectId_Sensor_Channel_bErrorBypass BOOL R/W; 0 — контроль; 1 — шунт — —
Ошибка канала. Фильтр Conf_tmplObjectId_Sensor_Channel_diErrorFilterTime DINT R/W #### с
Измерение. Фильтр. Период Conf_tmplObjectId_SensFilter_diPeriod DINT R/W #### с
Измерение. Фильтр. Количество периодов Conf_tmplObjectId_SensFilter_iCount INT R/W #### —
Значение измерения View_tmplObjectId_SensFilter_Inst_out_fY REAL R s####.## tmplFvUnits
Ошибка датчика View_tmplObjectId_Sensor_Inst_out_bError BOOL R; 0 — рамка скрыта; 1 — жёлтая рамка мигает — —

8.13. SignalsFilter: канал аварии или предупреждения

Экран настроек.

На экране: настройки и состояние канала.

Подстановка Назначение
tmplFilterId Полный ID фильтра, например K31_Flts
tmplChannelId ID канала в настройках фильтра, например VFD_FAULT
tmplChannelNo Номер выхода фильтра, 1–8
tmplLabel Обозначение оборудования или подпись сигнала
Поле Шаблонное имя тега Тип Действие Формат Единицы
Задержка срабатывания Conf_tmplFilterId_SgnlsFltr_tmplChannelId_diDelay DINT R/W #### с
Шунт Conf_tmplFilterId_SgnlsFltr_tmplChannelId_bBypass BOOL R/W; 0 — контроль; 1 — шунт — —
Состояние канала View_tmplFilterId_SgnlsFltr_Inst_out_SignaltmplChannelNo_bQ BOOL R; цвет по таблице ниже — —
Вариант канала При 0 При 1
Авария Серый Красный
Предупреждение Серый Жёлтый

Индикатор отображается в обоих состояниях. Поля задержки и шунта одинаковы для обоих вариантов.

Пример: tmplFilterId = K31_Flts, tmplChannelId = VFD_FAULT, tmplChannelNo = 3:

Поле Имя тега
Задержка Conf_K31_Flts_SgnlsFltr_VFD_FAULT_diDelay
Шунт Conf_K31_Flts_SgnlsFltr_VFD_FAULT_bBypass
Состояние View_K31_Flts_SgnlsFltr_Inst_out_Signal3_bQ

8.14. SwitchCtrl: переключение

Экран настроек.

На экране: настройки переключения.

Подстановка Назначение
tmplConfId ID настроек переключения
tmplLabel Обозначение оборудования или подпись сигнала
Поле Шаблонное имя тега Тип Действие Формат Единицы
Задержка переключения Conf_tmplConfId_SwitchCtrl_diDelay DINT R/W #### с

8.15. ThreeStep: трёхпозиционный регулятор

Экран настроек.

На экране: настройки регулятора.

Подстановка Назначение
tmplConfId ID настроек трёхпозиционного регулятора
tmplLabel Обозначение оборудования или подпись сигнала
tmplSpUnits Единицы уставки и регулируемой величины
Поле Шаблонное имя тега Тип Действие Формат Единицы
Уставка Conf_tmplConfId_ThreeStep_fSP REAL R/W s####.## tmplSpUnits
Зона нечувствительности Conf_tmplConfId_ThreeStep_fDeadband REAL R/W s####.## tmplSpUnits
Гистерезис Conf_tmplConfId_ThreeStep_fHysteresis REAL R/W s####.## tmplSpUnits

8.16. Timer: циклический таймер

Экран настроек.

На экране: настройки таймера.

Подстановка Назначение
tmplConfId ID настроек таймера
tmplLabel Обозначение оборудования или подпись сигнала
Поле Шаблонное имя тега Тип Действие Формат Единицы
Период Conf_tmplConfId_Timer_diPeriod DINT R/W #### мс
Количество периодов Conf_tmplConfId_Timer_diCount DINT R/W #### —

8.17. TwoStep: двухпозиционный регулятор

Экран настроек.

На экране: настройки регулятора.

Подстановка Назначение
tmplConfId ID настроек двухпозиционного регулятора
tmplLabel Обозначение оборудования или подпись сигнала
tmplSpUnits Единицы уставки и регулируемой величины
Поле Шаблонное имя тега Тип Действие Формат Единицы
Уставка Conf_tmplConfId_TwoStep_fSP REAL R/W s####.## tmplSpUnits
Гистерезис Conf_tmplConfId_TwoStep_fHys REAL R/W s####.## tmplSpUnits

8.18. Valve: клапан с дискретными командами

Экран настроек.

Заголовок: tmplLabel. Клапан.

На экране: общие настройки клапана, выбранные через tmplConfId. Индивидуальный шунт вынесен на отдельный экран.

Подстановка Назначение
tmplConfId ID настроек клапана
tmplLabel Обозначение оборудования или подпись сигнала
Поле Шаблонное имя тега Тип Действие Формат Единицы
Нормально открытый Conf_tmplConfId_Valve_bNO BOOL R/W; 0 — нормально закрытый; 1 — нормально открытый — —
Закрытие/открытие при аварии Conf_tmplConfId_Valve_bEnableFaultCtrl BOOL R/W; 0 — выключено; 1 — включено — —
Контроль крайних положений Conf_tmplConfId_Valve_bEnableCheckState BOOL R/W; 0 — выключено; 1 — включено — —
Задержка реверса Conf_tmplConfId_Valve_diChangeStateDelay DINT R/W #### с
Время полного хода Conf_tmplConfId_Valve_diFullTime DINT R/W #### с

8.19. Engine: индивидуальные настройки

Экран настроек.

Заголовок: tmplLabel. Двигатель. Индивидуальные настройки.

Экран относится к одному механизму. Изменение шунта не влияет на другие механизмы, использующие те же общие настройки.

ПодстановкаНазначение
tmplObjectIdID конкретного двигателя
tmplLabelОбозначение оборудования или подпись сигнала
ПолеШаблонное имя тегаТипДействиеФорматЕдиницы
Отключение контроля состояния Conf_tmplObjectId_Engine_bStateControlBypass BOOL R/W; 0 — контроль; 1 — отключение контроля — —

8.20. Valve: индивидуальные настройки

Экран настроек.

Заголовок: tmplLabel. Клапан. Индивидуальные настройки.

Экран относится к одному механизму. Изменение шунта не влияет на другие механизмы, использующие те же общие настройки.

ПодстановкаНазначение
tmplObjectIdID конкретного клапана
tmplLabelОбозначение оборудования или подпись сигнала
ПолеШаблонное имя тегаТипДействиеФорматЕдиницы
Шунт контроля полного хода Conf_tmplObjectId_Valve_bFullTimeCtrlBypass BOOL R/W; 0 — контроль; 1 — шунт — —

9. Типовой элемент визуализации — насос

9.1. Состав и расположение

Пример соответствует Engine из раздела 5.1. Все поля предназначены для отображения. Управление насосом описано отдельно в разделах 6.1 и 7.7. Режим расположен справа сверху, блокировка — справа снизу. Индикатор команды пуска-останова — в центре самого УГО насоса. Наработка — прямо на насосе, в левой нижней части, в оформлении числового показания из раздела 5.5.1. Правая граница числового поля совпадает с центром УГО, поле расширяется влево; «ч» справа без заливки. Обозначение — под насосом. Цвет насоса показывает фактическую работу. Аварийная рамка охватывает только само УГО насоса; режим, блокировка и обозначение остаются за её пределами. Элемент можно масштабировать, сохраняя расположение и читаемость подписей.

Интерактивная иллюстрация насоса.

№ Элемент Расположение Привязка Тип Отображение
1 УГО насоса В центре элемента View_DI_tmplIoId_bState BOOL 0 — SVG остановленного насоса; 1 — SVG работающего насоса. УГО видно в обоих состояниях.
2 Текущий режим Справа от УГО, в верхнем углу View_tmplObjectId_Engine_Inst_out_iMode INT 0 — О; 1 — М; 2 — Р; 3 — А. Символ виден постоянно.
3 Блокировка Справа от УГО, в нижнем углу View_tmplObjectId_Engine_Inst_out_bBlocked BOOL 0 — символ Б скрыт; 1 — символ Б отображается.
4 Аварийная рамка Вплотную вокруг самого УГО насоса View_tmplObjectId_Engine_Inst_out_bFault BOOL 0 — рамка скрыта; 1 — красная рамка отображается и мигает. Режим, блокировка и обозначение остаются за рамкой. Цвет насоса определяется обратной связью.
5 Команда пуска-останова В центре УГО насоса View_DQ_tmplIoId_bStart BOOL 0 — серый круг: команда пуска снята; 1 — зелёный круг: команда пуска подана. Отображается постоянно; фактическую работу показывает цвет самого насоса.
6 Наработка Слева внизу: правая граница поля значения совпадает с центром УГО View_tmplObjectId_Engine_Inst_out_diWorktime DINT Целое число и единицы ч — одинаковым шрифтом 12 в общем масштабе с насосом. Значение с заливкой и контуром, единицы справа без заливки. Поле расширяется под число разрядов; шрифт не уменьшается. Только чтение. Поле расширяется влево, его правая граница остаётся на оси насоса.
7 Обозначение Под насосом tmplLabel Текст Постоянная текстовая подпись оборудования; не является тегом PLC.

В примере tmplObjectId = P101, tmplIoId = P101, tmplLabel = P-101. Для всех DI/DQ одного насоса применяется общий tmplIoId.

Жёлтую рамку предупреждения добавляют отдельно по необходимости. Она не входит в обязательный состав экрана исполнительного механизма. В HTML есть отдельный переключатель этой рамки. Её сигнал и привязка задаются отдельно в проекте; при 1 рамка мигает, при 0 скрыта.

Режим, блокировка, аварийная рамка, выходная команда и фактическая работа отображаются независимо. Например, команда пуска может уже присутствовать, а обратная связь ещё оставаться равной 0. Аварийная рамка не скрывает остальные признаки.

Фактическое положение, производительность и мощность — отдельные датчики. Требования к их отображению в состав этого элемента не входят.

9.2. Графические исходники

Используются существующие SVG из каталога svg, без перерисовки и изменения их цветов. SVG и стандарт составляют единый комплект; пути ниже относительно svg. HTML загружает эти же файлы по относительным ссылкам.

Для насоса с противоположным направлением применяется существующая пара Actuators/Pump_Left/State_0.svg и State_1.svg; привязки и поведение сохраняются. Наработка накладывается на УГО отдельным числовым полем с заливкой и контуром. Единицы «ч» размещаются справа без заливки. Обозначение располагается под ним. Исходные SVG при этом не изменяются.

9.3. Проверка поведения

  1. При смене только фактической работы меняется SVG насоса; индикатор команды не меняется.
  2. При смене только команды пуска меняется круглый индикатор; SVG насоса не меняется.
  3. Значения режима 0–3 выбирают соответствующие четыре символа.
  4. Блокировка 0 скрывает Б, блокировка 1 показывает Б.
  5. Авария 0 скрывает красную рамку, авария 1 включает её мигание.
  6. Наработка и обозначение отображаются независимо от остальных признаков.

Кнопка «Все обозначения» включает все признаки. Аварийная рамка при этом продолжает мигать. В HTML можно менять значения сигналов и смотреть результат. Переключатели меняют только изображение; это не команды реальному насосу. В примере рамка мигает с периодом 1 с. Общая частота мигания для проекта пока не задана. При активном сигнале аварийная или предупредительная рамка всегда мигает; отключения мигания нет.

10. Справочные материалы

Графические исходники SVG используются в стандарте и библиотеках HMI. Отображение состояний и команды задаются таблицами соответствующего элемента.

11. Трубопроводы

Трубопроводы изображаются простыми сплошными линиями одной толщины, без объёма, градиентов и декоративной обводки. Толщина не обозначает физический диаметр трубы.

Подача отображается красным, обратка — синим, холодная вода и подпитка — бирюзовым. Точные RGB, толщина линии и образцы приведены в цветовой схеме трубопроводов. Для других сред палитра определяется отдельно.

Точки и кружки на соединениях трубопроводов не используются: соединённые линии непосредственно стыкуются. На пересечении без соединения разрывается вертикальная линия, горизонтальная остаётся непрерывной. Направление потока показывается стрелкой цвета линии. Трубопроводы не соединяют разные среды сквозь теплообменник.

12. Надписи и ссылки на продолжение

Габариты текстового поля определяются автоматически по содержимому. Ширина и высота поля в ТЗ не задаются и вручную не изменяются. Размер шрифта и оформление наследуются от подготовленного образца. Внешние подписи оборудования располагаются за пределами его УГО, единообразно для однотипных элементов. Внутренние надписи стандартных фейсплейтов остаются частью фейсплейта.

Для внешнего текста мнемосхемы предусмотрены три варианта текстового поля: заголовок группы оборудования, подпись/наименование потока и ссылка на продолжение трубопровода с заливкой и рамкой. Их шрифты и цвета приведены в цветовой схеме надписей.

Заголовки, внешние подписи оборудования и наименования потоков отображаются на светлой заливке без рамки. Заливка задаётся самому текстовому полю и автоматически следует за его содержимым. Подписи не перекрывают УГО, трубопроводы и другие элементы. Цвет заливки и шрифты заданы в цветовой схеме надписей.

Для заголовка и подписи пользователь готовит по одному текстовому образцу. Состав образца ссылки определяется заданием. Разработчик копирует его, перемещает и изменяет текст, сохраняя оформление. Оформление ссылок одинаково для всех трубопроводов. Заливка ссылок совпадает с заливкой кнопок; значение RGB берётся из общей цветовой схемы. Внутренние надписи фейсплейтов определяются правилами соответствующего элемента.

13. Пример общего экрана

Мнемосхема котельной «Ертис» показывает общую компоновку экрана 1920 × 1080: размещение оборудования, показаний, трубопроводов, навигации и области сообщений. Пример доступен по ширине окна и в исходном масштабе.

Это статический эскиз от 11.10.2026, а не актуальная исполнительная документация проекта. Он служит для знакомства с общим видом HMI. Нормативные цвета, подписи, состояния и привязки определяются соответствующими разделами стандарта.